#ifndef IGAMEPROPERTY_H
#define IGAMEPROPERTY_H


/*
Abstract template base class
interface for higher level
game "properties" attached to
IGameObject objects with features
*/

template <typename T>

class IGameProperty
{

    T data;

    u32 typeID;

public:

    //operators

    T& operator()(){ return data; };
    T& operator=( const T& other ){ data = other; return const &this };
    T& operator==( const T& other){ if T };

    //functions

    T& getData(){ return data; };


}
